home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / ewl / ewl_checkbutton.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  2KB  |  64 lines

  1. #ifndef __EWL_CHECKBUTTON_H__
  2. #define __EWL_CHECKBUTTON_H__
  3.  
  4. /**
  5.  * @file ewl_checkbutton.h
  6.  * @defgroup Ewl_CheckButton CheckButton: A CheckButton with Label
  7.  * @brief Defines an Ewl_CheckButton that inherits from Ewl_Widget and
  8.  * provides an Ewl_Check that changes value on each click.
  9.  *
  10.  * @{
  11.  */
  12.  
  13. /**
  14.  * @themekey /checkbutton/file
  15.  * @themekey /checkbutton/group
  16.  */
  17.  
  18. /**
  19.  * The button class is a basic button with a label. This class is inherited by
  20.  * the check button and radio button classes.
  21.  */
  22. typedef struct Ewl_CheckButton Ewl_CheckButton;
  23.  
  24. /**
  25.  * @def EWL_CHECKBUTTON(button)
  26.  * Typecasts a pointer to an Ewl_CheckButton pointer.
  27.  */
  28. #define EWL_CHECKBUTTON(button) ((Ewl_CheckButton *) button)
  29.  
  30. /**
  31.  * @struct Ewl_CheckButton
  32.  * Inherits from Ewl_Widget and expands to provide a stateful check button.
  33.  */
  34. struct Ewl_CheckButton
  35. {
  36.     Ewl_Button      button; /**< Inherit the basic button properties */
  37.  
  38.     
  39.     Ewl_Position    label_position; /**< Order of label and check */
  40.  
  41.     Ewl_Widget     *check; /**< Check widget represented */
  42. };
  43.  
  44. Ewl_Widget     *ewl_checkbutton_new(void);
  45. int             ewl_checkbutton_init(Ewl_CheckButton *cb);
  46.  
  47. void            ewl_checkbutton_checked_set(Ewl_CheckButton *cb, int checked);
  48. int             ewl_checkbutton_is_checked(Ewl_CheckButton *cb);
  49.  
  50. void            ewl_checkbutton_label_position_set(Ewl_CheckButton *cb,
  51.                            Ewl_Position p);
  52.  
  53. /*
  54.  * Internally used callbacks, override at your own risk
  55.  */
  56. void ewl_checkbutton_clicked_cb(Ewl_Widget *w, void *ev_data,
  57.                        void *user_data);
  58.  
  59. /**
  60.  * @}
  61.  */
  62.  
  63. #endif                /* __EWL_CHECKBUTTON_H__ */
  64.